package com.vogue.supplymall.account.domain.service;

import java.util.List;
import java.util.Map;

import com.vogue.supplymall.account.domain.model.BaseCode;
import com.vogue.supplymall.common.domain.dto.admin.OrganSearchInfo;

/**
 * The interface Base code service.
 */
public interface BaseCodeService extends BaseService<BaseCode, Long>{

	/**
	 * 检查注册号是否存在，存在即合法，否则不合法</br>
	 * tyc</br>
	 * 2017-12-06
	 *
	 * @param sysCode the sys code
	 * @return long
	 */
	public Long checkSysCodeValidity(Long sysCode);

	/**
	 * 获取所有已经注册用过的系统随机号（100000以下是内部测试使用，可以略过）
	 *
	 * @return Map<系统随机号       ，       表中记录的id> list
	 */
	public List<Map<Long, Long>> syscodeExisted();

	/**
	 * 检查注册号是否存在</br>
	 * tyc</br>
	 *
	 * @param sysCodes the sys codes
	 * @return list
	 */
	public List<Long> checkSysCodeExist(String sysCodes);

	/**
	 * Find valid organ list.
	 * 开通集团-查询注册账号已申请但没开通的集团
	 *
	 * @return the list
	 */
	List<Map<String,Object>> findValidOrgan(OrganSearchInfo organSearchInfo);

	/**
	 * Find valid organ list.
	 * 开通集团-查询注册账号已申请但没开通的集团
	 * 查询总数
	 *
	 * @return the list
	 */
	Long findValidOrganCount(OrganSearchInfo organSearchInfo);
	
	/**
	 * 根据注册号更新tpsystem列
	 */
	public int updateTpsystemBySyscodeId(Long syscodeId,int tpsystem);
	
}
